import React, { useState, useEffect, useRef, useCallback } from 'react'; import { motion, AnimatePresence } from 'framer-motion'; import { MapPin, Menu, X, Phone, Sparkles, Award, Star, Eye, Droplets, Scissors, Paintbrush, ScanFace, Flower2, HeartPulse, GraduationCap, Lock, Mail, User, BookOpen, Clock, CheckCircle2, LogOut, ChevronRight, ChevronLeft, Plus, Minus, ArrowRight } from 'lucide-react'; const COLORS = { gold: '#ceac6f', nude: '#dbc5a4', grey: '#a6aaab', light: '#f7f7f7', dark: '#1a1a1a' }; const IMAGES = { hero: 'https://images.unsplash.com/photo-1616394584738-fc6e612e71b9?auto=format&fit=crop&w=1600&q=80', cejas: 'https://images.unsplash.com/photo-1522337360788-8b13dee7a37e?auto=format&fit=crop&w=800&q=75', labios: 'https://images.unsplash.com/photo-1519699047748-de8e457a634e?auto=format&fit=crop&w=800&q=75', delineado: 'https://images.unsplash.com/photo-1583001931096-959e9a1a6223?auto=format&fit=crop&w=800&q=75', remocion: 'https://images.unsplash.com/photo-1487412947147-5cebf100ffc2?auto=format&fit=crop&w=800&q=75', hidratacionLabios: 'https://images.unsplash.com/photo-1586495777744-4413f21062fa?auto=format&fit=crop&w=800&q=75', visajismo: 'https://images.unsplash.com/photo-1457972729786-0411a3b2b626?auto=format&fit=crop&w=800&q=75', laminado: 'https://images.unsplash.com/photo-1519125323398-675f0ddb6308?auto=format&fit=crop&w=800&q=75', lifting: 'https://images.unsplash.com/photo-1588006173527-b3e6cf8b1e34?auto=format&fit=crop&w=800&q=75', limpiezaFacial: 'https://images.unsplash.com/photo-1570172619644-dfd03ed5d881?auto=format&fit=crop&w=800&q=75', maracay: 'https://images.unsplash.com/photo-1560066984-138dadb4c035?auto=format&fit=crop&w=800&q=75', caracas: 'https://images.unsplash.com/photo-1521590832167-7bcbfaa6381f?auto=format&fit=crop&w=800&q=75', }; /* ─── FAQ Item ─── */ interface FAQItemProps { question: string; answer: string; } const FAQItem: React.FC = ({ question, answer }) => { const [open, setOpen] = useState(false); return (
{open && (

{answer}

)}
); }; /* ─── Service Card compact ─── */ interface ServiceCardProps { icon: React.ReactNode; title: string; desc: string; image: string; } const ServiceCard: React.FC = ({ icon, title, desc, image }) => (
{title}
{icon}

{title}

{desc}

); /* ─── Testimonial Carousel ─── */ interface Testimonial { name: string; location: string; service: string; text: string; stars: number; } const TestimonialCarousel: React.FC<{ testimonials: Testimonial[] }> = ({ testimonials }) => { const [current, setCurrent] = useState(0); const [isPaused, setIsPaused] = useState(false); const intervalRef = useRef | null>(null); const totalSlides = testimonials.length; const next = useCallback(() => { setCurrent((prev) => (prev + 1) % totalSlides); }, [totalSlides]); const prev = useCallback(() => { setCurrent((prev) => (prev - 1 + totalSlides) % totalSlides); }, [totalSlides]); useEffect(() => { if (!isPaused) { intervalRef.current = setInterval(next, 4000); } return () => { if (intervalRef.current) clearInterval(intervalRef.current); }; }, [isPaused, next]); // Show 1 on mobile, 3 on desktop const getVisible = () => { const items: number[] = []; for (let i = 0; i < 3; i++) { items.push((current + i) % totalSlides); } return items; }; const visibleIndices = getVisible(); return (
setIsPaused(true)} onMouseLeave={() => setIsPaused(false)} className="relative" > {/* Cards container */}
{/* Mobile: single card */}
{Array.from({ length: testimonials[current].stars }).map((_, j) => ( ))}

"{testimonials[current].text}"

{testimonials[current].name}

{testimonials[current].location} {testimonials[current].service}
{/* Desktop: 3 cards */}
{visibleIndices.map((idx, pos) => (
{Array.from({ length: testimonials[idx].stars }).map((_, j) => ( ))}

"{testimonials[idx].text}"

{testimonials[idx].name}

{testimonials[idx].location} {testimonials[idx].service}
))}
{/* Controls */}
{/* Dots */}
{testimonials.map((_, i) => (
{/* Counter */}

{current + 1} / {totalSlides}

); }; /* ─── Academia Modal ─── */ interface AcademiaModalProps { isOpen: boolean; onClose: () => void; } const AcademiaModal: React.FC = ({ isOpen, onClose }) => { const [mode, setMode] = useState<'login' | 'register' | 'dashboard'>('login'); const [email, setEmail] = useState(''); const [password, setPassword] = useState(''); const [name, setName] = useState(''); const [logged, setLogged] = useState(false); const [error, setError] = useState(''); const handleLogin = (e: React.FormEvent) => { e.preventDefault(); setError(''); if (!email || !password) { setError('Completa todos los campos'); return; } // Demo login setLogged(true); setMode('dashboard'); }; const handleRegister = (e: React.FormEvent) => { e.preventDefault(); setError(''); if (!name || !email || !password) { setError('Completa todos los campos'); return; } if (password.length < 6) { setError('La contraseña debe tener al menos 6 caracteres'); return; } setLogged(true); setMode('dashboard'); }; const handleLogout = () => { setLogged(false); setMode('login'); setEmail(''); setPassword(''); setName(''); }; const handleClose = () => { onClose(); }; const courseModules = [ { title: "Módulo 1: Fundamentos de Visajismo y Morfología Facial", duration: "4 horas", done: false }, { title: "Módulo 2: Arquitectura de la Mirada — Diseño de Cejas", duration: "6 horas", done: false }, { title: "Módulo 3: Colorimetría Aplicada a la Micropigmentación", duration: "4 horas", done: false }, { title: "Módulo 4: Bioseguridad Clínica — Estándares Internacionales", duration: "5 horas", done: false }, { title: "Módulo 5: Protocolos de Esterilización y Normativas Sanitarias", duration: "4 horas", done: false }, { title: "Módulo 6: Práctica Supervisada en Piel Sintética", duration: "8 horas", done: false }, { title: "Módulo 7: Práctica en Modelo Real + Evaluación Final", duration: "6 horas", done: false }, ]; return ( {isOpen && ( e.stopPropagation()} > {/* Header */}
Academia
{!logged ? ( <> {/* Login / Register Toggle */}
{error && (
{error}
)} {mode === 'login' ? (
setEmail(e.target.value)} placeholder="tu@correo.com" className="w-full pl-10 pr-4 py-3 border border-gray-200 rounded-lg text-sm focus:outline-none focus:border-[#ceac6f] transition-colors" />
setPassword(e.target.value)} placeholder="••••••••" className="w-full pl-10 pr-4 py-3 border border-gray-200 rounded-lg text-sm focus:outline-none focus:border-[#ceac6f] transition-colors" />
) : (
setName(e.target.value)} placeholder="Tu nombre" className="w-full pl-10 pr-4 py-3 border border-gray-200 rounded-lg text-sm focus:outline-none focus:border-[#ceac6f] transition-colors" />
setEmail(e.target.value)} placeholder="tu@correo.com" className="w-full pl-10 pr-4 py-3 border border-gray-200 rounded-lg text-sm focus:outline-none focus:border-[#ceac6f] transition-colors" />
setPassword(e.target.value)} placeholder="Mínimo 6 caracteres" className="w-full pl-10 pr-4 py-3 border border-gray-200 rounded-lg text-sm focus:outline-none focus:border-[#ceac6f] transition-colors" />
)} {/* Course preview */}
Curso Disponible

Arquitectura de la Mirada y Bioseguridad Clínica con Estándares Internacionales

37 horas 7 módulos

Regístrate para acceder →

) : ( /* ─── Dashboard alumna ─── */

Bienvenida,

{name || 'Alumna'}

{/* Course Card */}

Arquitectura de la Mirada y Bioseguridad Clínica

con Estándares Internacionales

37 horas 7 módulos
{/* Progress bar */}
Progreso 0%
{/* Modules list */}
Contenido del Curso
{courseModules.map((mod, i) => (
{i + 1}

{mod.title}

{mod.duration}
{i === 0 ? ( ) : ( )}
))}
)}
)}
); }; /* ════════════════════════════════════════════════ APP PRINCIPAL ════════════════════════════════════════════════ */ export function App() { const [isMenuOpen, setIsMenuOpen] = useState(false); const [scrolled, setScrolled] = useState(false); const [academiaOpen, setAcademiaOpen] = useState(false); useEffect(() => { const handleScroll = () => setScrolled(window.scrollY > 50); window.addEventListener('scroll', handleScroll, { passive: true }); return () => window.removeEventListener('scroll', handleScroll); }, []); // Lock body scroll when modals open useEffect(() => { document.body.style.overflow = (isMenuOpen || academiaOpen) ? 'hidden' : ''; return () => { document.body.style.overflow = ''; }; }, [isMenuOpen, academiaOpen]); const services = [ { icon: , title: "Micropigmentación de Cejas", desc: "Técnica pelo a pelo hiperrealista para cejas naturales y duraderas.", image: IMAGES.cejas }, { icon: , title: "Micropigmentación de Labios", desc: "Color, definición y volumen visual para labios perfectos 24/7.", image: IMAGES.labios }, { icon: , title: "Delineado de Ojos", desc: "Mirada definida con delineado permanente de alta precisión.", image: IMAGES.delineado }, { icon: , title: "Remoción Química de Cejas", desc: "Corrección segura de micropigmentaciones anteriores.", image: IMAGES.remocion }, { icon: , title: "Hidratación de Labios", desc: "Nutrición profunda que devuelve suavidad y luminosidad.", image: IMAGES.hidratacionLabios }, { icon: , title: "Visajismo", desc: "Estudio de armonía facial para diseñar tu look ideal.", image: IMAGES.visajismo }, { icon: , title: "Laminado de Cejas", desc: "Cejas peinadas, ordenadas y con volumen por semanas.", image: IMAGES.laminado }, { icon: , title: "Lifting de Pestañas", desc: "Curvatura natural y duradera sin extensiones.", image: IMAGES.lifting }, { icon: , title: "Limpiezas Faciales con Aparatología", desc: "Tecnología avanzada para una piel renovada y luminosa.", image: IMAGES.limpiezaFacial }, ]; const faqs = [ { question: "¿Duele el procedimiento?", answer: "Aplicamos anestesia tópica de grado médico. La mayoría de clientas califican el dolor como un 2 de 10." }, { question: "¿Cuánto dura el resultado?", answer: "Entre 12 y 18 meses dependiendo del tipo de piel. Recomendamos retoque anual." }, { question: "¿Cuáles son los cuidados posteriores?", answer: "Evitar sol directo, piscinas y ejercicio intenso por 7 días. Incluimos kit de cuidado post-procedimiento." }, { question: "¿Atienden en Maracay y Caracas?", answer: "Sí. Estudio principal en Maracay y auxiliar en Caracas. Agenda en la sede más conveniente." }, { question: "¿Qué incluye la limpieza facial?", answer: "Diagnóstico de piel, ultrasonido, extracción, alta frecuencia, mascarilla personalizada y protección solar." }, ]; const testimonials: Testimonial[] = [ { name: "María Fernanda R.", location: "Maracay", service: "Micropigmentación de Cejas", text: "Chairy transformó mis cejas por completo. El resultado es tan natural que nadie cree que son micropigmentadas. ¡Estoy encantada!", stars: 5 }, { name: "Ana Gabriela M.", location: "Caracas", service: "Delineado de Ojos", text: "Me hice el delineado permanente y mi mirada cambió totalmente. Ya no necesito maquillaje diario. ¡Espectacular trabajo!", stars: 5 }, { name: "Carolina P.", location: "Maracay", service: "Limpieza Facial", text: "La limpieza facial con aparatología dejó mi piel luminosa desde la primera sesión. Súper profesional y relajante.", stars: 5 }, { name: "Daniela Suárez", location: "Maracay", service: "Micropigmentación de Labios", text: "Mis labios quedaron con un color hermoso y muy natural. Ya no uso labial y me veo arreglada siempre. ¡Lo mejor que he hecho!", stars: 5 }, { name: "Valentina Herrera", location: "Caracas", service: "Visajismo", text: "El estudio de visajismo me ayudó a entender qué forma de cejas me favorece realmente. Chairy es una artista de verdad.", stars: 5 }, { name: "Gabriela Martínez", location: "Maracay", service: "Laminado de Cejas", text: "Mis cejas estaban desordenadas y sin forma. Después del laminado quedaron perfectas, peinadas y con volumen. ¡Increíble!", stars: 5 }, { name: "Isabella Torres", location: "Caracas", service: "Lifting de Pestañas", text: "El lifting le dio a mis pestañas una curvatura preciosa sin necesidad de extensiones. Duró semanas y se veía muy natural.", stars: 5 }, { name: "Andrea Rodríguez", location: "Maracay", service: "Hidratación de Labios", text: "Tenía los labios súper resecos y agrietados. Después del tratamiento quedaron suaves, hidratados y con un brillo hermoso.", stars: 5 }, { name: "Sofía Mendoza", location: "Caracas", service: "Remoción Química", text: "Tenía una micropigmentación anterior que no me gustaba. Chairy hizo la remoción con mucho cuidado y el resultado fue excelente.", stars: 5 }, { name: "Camila Gutiérrez", location: "Maracay", service: "Micropigmentación de Cejas", text: "Después de años dibujándome las cejas cada mañana, ahora me levanto perfecta. El mejor regalo que me he dado.", stars: 5 }, { name: "Laura Pérez", location: "Caracas", service: "Delineado de Ojos", text: "Siempre quise un delineado perfecto pero no tenía pulso. Ahora mis ojos se ven definidos todo el tiempo. ¡100% recomendada!", stars: 5 }, { name: "Patricia Vargas", location: "Maracay", service: "Limpieza Facial", text: "Mi piel tenía muchas impurezas y puntos negros. Después de la limpieza con aparatología se ve completamente renovada. Volveré cada mes.", stars: 5 }, ]; return (
{/* ═══ NAV ═══ */} {/* ═══ MENÚ MÓVIL ═══ */} {isMenuOpen && (
{['Servicios', 'Ubicaciones', 'Dudas'].map((label) => ( setIsMenuOpen(false)} className="py-5 border-b border-gray-100 hover:text-[#ceac6f] transition-colors" >{label} ))} Agendar Cita
)}
{/* ═══ ACADEMIA MODAL ═══ */} setAcademiaOpen(false)} /> {/* ═══ HERO (compacto) ═══ */}
Micropigmentación profesional de cejas, labios y delineado
Micropigmentación & Beauty

Diseño que
inspira

Cejas, labios y delineado de ojos con técnicas avanzadas de micropigmentación hiperrealista.

Evaluación gratuita
Maracay Caracas
{/* ═══ SERVICIOS (compacto) ═══ */}
Nuestros Servicios

Belleza de Precisión

{services.map((s, i) => ( ))}
{/* ═══ MÉTODO (simplificado — 3 pasos) ═══ */}
Nuestro Método

3 Pasos Simples

{[ { step: "01", title: "Consulta & Visajismo", desc: "Evaluación personalizada de tus rasgos y diseño previo para tu aprobación." }, { step: "02", title: "Procedimiento", desc: "Aplicación con técnica de precisión, anestesia tópica y máxima higiene." }, { step: "03", title: "Seguimiento", desc: "Kit de cuidado incluido, revisión de cicatrización y retoque garantizado." }, ].map((item, i) => (
{item.step}

{item.title}

{item.desc}

))}
{/* ═══ UBICACIONES + TESTIMONIOS (combinados) ═══ */}
Dónde Encontrarnos

Nuestras Sedes

{[ { name: "Maracay", sub: "Aragua · Estudio Principal", badge: "Principal", badgeClass: "bg-[#ceac6f] text-white", img: IMAGES.maracay }, { name: "Caracas", sub: "Distrito Capital · Estudio Auxiliar", badge: "Auxiliar", badgeClass: "bg-white/20 backdrop-blur-sm text-white", img: IMAGES.caracas }, ].map((loc, i) => (
{`Estudio
{loc.badge}

{loc.name}

{loc.sub}

))}
{/* Testimonios Carrusel */}
Experiencias

Lo que dicen nuestras clientas

{/* ═══ FAQ (compacto) ═══ */}
Dudas

Preguntas Frecuentes

{faqs.map((faq, i) => ( ))}
{/* ═══ CTA FINAL (compacto) ═══ */}

¿Lista para realzar tu belleza?

Agenda tu consulta gratuita en Maracay o Caracas.

{/* ═══ FOOTER (simplificado) ═══ */}
CHAIRY MONASTERIOS
Servicios Instagram WhatsApp

© {new Date().getFullYear()} Todos los derechos reservados

{/* ═══ WHATSAPP FAB ═══ */} Agendar
); } export default App;